package com.linln.modules.system.domain;

import org.springframework.data.annotation.CreatedDate;
import org.springframework.data.jpa.domain.support.AuditingEntityListener;

import javax.persistence.*;
import java.math.BigDecimal;
import java.sql.Timestamp;
import java.util.Date;
import java.util.Objects;

@Entity
@Table(name = "Patient_BA_Cost_Information", schema = "dbo", catalog = "WQR")
@EntityListeners(AuditingEntityListener.class)
public class PatientBaCostInformationEntity {
    private Integer id;
    private Integer bah;
    private Date cyrq;
    private String zyh;
    private BigDecimal fyhj;
    private BigDecimal zfje;
    private BigDecimal fy01;
    private BigDecimal fy02;
    private BigDecimal fy03;
    private BigDecimal fy04;
    private BigDecimal fy05;
    private BigDecimal fy06;
    private BigDecimal fy07;
    private BigDecimal fy08;
    private BigDecimal fy09;
    private BigDecimal fy0901;
    private BigDecimal fy10;
    private BigDecimal fy1001;
    private BigDecimal fy1002;
    private BigDecimal fy11;
    private BigDecimal fy12;
    private BigDecimal fy13;
    private BigDecimal fy1301;
    private BigDecimal fy14;
    private BigDecimal fy15;
    private BigDecimal fy16;
    private BigDecimal fy17;
    private BigDecimal fy18;
    private BigDecimal fy19;
    private BigDecimal fy20;
    private BigDecimal fy21;
    private BigDecimal fy22;
    private BigDecimal fy23;
    private BigDecimal fy24;
    private String flag;
    @CreatedDate
    private Date createdate;

    @Id
    @GeneratedValue(strategy = GenerationType.IDENTITY)
    @Column(name = "id", nullable = false)
    public Integer getId() {
        return id;
    }

    public void setId(Integer id) {
        this.id = id;
    }

    @Basic
    @Column(name = "BAH", nullable = false, precision = 0)
    public Integer getBah() {
        return bah;
    }

    public void setBah(Integer bah) {
        this.bah = bah;
    }

    @Basic
    @Column(name = "CYRQ", nullable = false)
    public Date getCyrq() {
        return cyrq;
    }

    public void setCyrq(Date cyrq) {
        this.cyrq = cyrq;
    }

    @Basic
    @Column(name = "ZYH", nullable = true, length = 20)
    public String getZyh() {
        return zyh;
    }

    public void setZyh(String zyh) {
        this.zyh = zyh;
    }

    @Basic
    @Column(name = "FYHJ", nullable = true, precision = 2)
    public BigDecimal getFyhj() {
        return fyhj;
    }

    public void setFyhj(BigDecimal fyhj) {
        this.fyhj = fyhj;
    }

    @Basic
    @Column(name = "ZFJE", nullable = true, precision = 2)
    public BigDecimal getZfje() {
        return zfje;
    }

    public void setZfje(BigDecimal zfje) {
        this.zfje = zfje;
    }

    @Basic
    @Column(name = "FY01", nullable = true, precision = 2)
    public BigDecimal getFy01() {
        return fy01;
    }

    public void setFy01(BigDecimal fy01) {
        this.fy01 = fy01;
    }

    @Basic
    @Column(name = "FY02", nullable = true, precision = 2)
    public BigDecimal getFy02() {
        return fy02;
    }

    public void setFy02(BigDecimal fy02) {
        this.fy02 = fy02;
    }

    @Basic
    @Column(name = "FY03", nullable = true, precision = 2)
    public BigDecimal getFy03() {
        return fy03;
    }

    public void setFy03(BigDecimal fy03) {
        this.fy03 = fy03;
    }

    @Basic
    @Column(name = "FY04", nullable = true, precision = 2)
    public BigDecimal getFy04() {
        return fy04;
    }

    public void setFy04(BigDecimal fy04) {
        this.fy04 = fy04;
    }

    @Basic
    @Column(name = "FY05", nullable = true, precision = 2)
    public BigDecimal getFy05() {
        return fy05;
    }

    public void setFy05(BigDecimal fy05) {
        this.fy05 = fy05;
    }

    @Basic
    @Column(name = "FY06", nullable = true, precision = 2)
    public BigDecimal getFy06() {
        return fy06;
    }

    public void setFy06(BigDecimal fy06) {
        this.fy06 = fy06;
    }

    @Basic
    @Column(name = "FY07", nullable = true, precision = 2)
    public BigDecimal getFy07() {
        return fy07;
    }

    public void setFy07(BigDecimal fy07) {
        this.fy07 = fy07;
    }

    @Basic
    @Column(name = "FY08", nullable = true, precision = 2)
    public BigDecimal getFy08() {
        return fy08;
    }

    public void setFy08(BigDecimal fy08) {
        this.fy08 = fy08;
    }

    @Basic
    @Column(name = "FY09", nullable = true, precision = 2)
    public BigDecimal getFy09() {
        return fy09;
    }

    public void setFy09(BigDecimal fy09) {
        this.fy09 = fy09;
    }

    @Basic
    @Column(name = "FY0901", nullable = true, precision = 2)
    public BigDecimal getFy0901() {
        return fy0901;
    }

    public void setFy0901(BigDecimal fy0901) {
        this.fy0901 = fy0901;
    }

    @Basic
    @Column(name = "FY10", nullable = true, precision = 2)
    public BigDecimal getFy10() {
        return fy10;
    }

    public void setFy10(BigDecimal fy10) {
        this.fy10 = fy10;
    }

    @Basic
    @Column(name = "FY1001", nullable = true, precision = 2)
    public BigDecimal getFy1001() {
        return fy1001;
    }

    public void setFy1001(BigDecimal fy1001) {
        this.fy1001 = fy1001;
    }

    @Basic
    @Column(name = "FY1002", nullable = true, precision = 2)
    public BigDecimal getFy1002() {
        return fy1002;
    }

    public void setFy1002(BigDecimal fy1002) {
        this.fy1002 = fy1002;
    }

    @Basic
    @Column(name = "FY11", nullable = true, precision = 2)
    public BigDecimal getFy11() {
        return fy11;
    }

    public void setFy11(BigDecimal fy11) {
        this.fy11 = fy11;
    }

    @Basic
    @Column(name = "FY12", nullable = true, precision = 2)
    public BigDecimal getFy12() {
        return fy12;
    }

    public void setFy12(BigDecimal fy12) {
        this.fy12 = fy12;
    }

    @Basic
    @Column(name = "FY13", nullable = true, precision = 2)
    public BigDecimal getFy13() {
        return fy13;
    }

    public void setFy13(BigDecimal fy13) {
        this.fy13 = fy13;
    }

    @Basic
    @Column(name = "FY1301", nullable = true, precision = 2)
    public BigDecimal getFy1301() {
        return fy1301;
    }

    public void setFy1301(BigDecimal fy1301) {
        this.fy1301 = fy1301;
    }

    @Basic
    @Column(name = "FY14", nullable = true, precision = 2)
    public BigDecimal getFy14() {
        return fy14;
    }

    public void setFy14(BigDecimal fy14) {
        this.fy14 = fy14;
    }

    @Basic
    @Column(name = "FY15", nullable = true, precision = 2)
    public BigDecimal getFy15() {
        return fy15;
    }

    public void setFy15(BigDecimal fy15) {
        this.fy15 = fy15;
    }

    @Basic
    @Column(name = "FY16", nullable = true, precision = 2)
    public BigDecimal getFy16() {
        return fy16;
    }

    public void setFy16(BigDecimal fy16) {
        this.fy16 = fy16;
    }

    @Basic
    @Column(name = "FY17", nullable = true, precision = 2)
    public BigDecimal getFy17() {
        return fy17;
    }

    public void setFy17(BigDecimal fy17) {
        this.fy17 = fy17;
    }

    @Basic
    @Column(name = "FY18", nullable = true, precision = 2)
    public BigDecimal getFy18() {
        return fy18;
    }

    public void setFy18(BigDecimal fy18) {
        this.fy18 = fy18;
    }

    @Basic
    @Column(name = "FY19", nullable = true, precision = 2)
    public BigDecimal getFy19() {
        return fy19;
    }

    public void setFy19(BigDecimal fy19) {
        this.fy19 = fy19;
    }

    @Basic
    @Column(name = "FY20", nullable = true, precision = 2)
    public BigDecimal getFy20() {
        return fy20;
    }

    public void setFy20(BigDecimal fy20) {
        this.fy20 = fy20;
    }

    @Basic
    @Column(name = "FY21", nullable = true, precision = 2)
    public BigDecimal getFy21() {
        return fy21;
    }

    public void setFy21(BigDecimal fy21) {
        this.fy21 = fy21;
    }

    @Basic
    @Column(name = "FY22", nullable = true, precision = 2)
    public BigDecimal getFy22() {
        return fy22;
    }

    public void setFy22(BigDecimal fy22) {
        this.fy22 = fy22;
    }

    @Basic
    @Column(name = "FY23", nullable = true, precision = 2)
    public BigDecimal getFy23() {
        return fy23;
    }

    public void setFy23(BigDecimal fy23) {
        this.fy23 = fy23;
    }

    @Basic
    @Column(name = "FY24", nullable = true, precision = 2)
    public BigDecimal getFy24() {
        return fy24;
    }

    public void setFy24(BigDecimal fy24) {
        this.fy24 = fy24;
    }

    @Basic
    @Column(name = "flag", nullable = true, length = 10)
    public String getFlag() {
        return flag;
    }

    public void setFlag(String flag) {
        this.flag = flag;
    }

    @Basic
    @Column(name = "createdate", nullable = false)
    public Date getCreatedate() {
        return createdate;
    }

    public void setCreatedate(Date createdate) {
        this.createdate = createdate;
    }

    @Override
    public boolean equals(Object o) {
        if (this == o) return true;
        if (o == null || getClass() != o.getClass()) return false;
        PatientBaCostInformationEntity that = (PatientBaCostInformationEntity) o;
        return id == that.id && bah == that.bah && Objects.equals(cyrq, that.cyrq) && Objects.equals(zyh, that.zyh) && Objects.equals(fyhj, that.fyhj) && Objects.equals(zfje, that.zfje) && Objects.equals(fy01, that.fy01) && Objects.equals(fy02, that.fy02) && Objects.equals(fy03, that.fy03) && Objects.equals(fy04, that.fy04) && Objects.equals(fy05, that.fy05) && Objects.equals(fy06, that.fy06) && Objects.equals(fy07, that.fy07) && Objects.equals(fy08, that.fy08) && Objects.equals(fy09, that.fy09) && Objects.equals(fy0901, that.fy0901) && Objects.equals(fy10, that.fy10) && Objects.equals(fy1001, that.fy1001) && Objects.equals(fy1002, that.fy1002) && Objects.equals(fy11, that.fy11) && Objects.equals(fy12, that.fy12) && Objects.equals(fy13, that.fy13) && Objects.equals(fy1301, that.fy1301) && Objects.equals(fy14, that.fy14) && Objects.equals(fy15, that.fy15) && Objects.equals(fy16, that.fy16) && Objects.equals(fy17, that.fy17) && Objects.equals(fy18, that.fy18) && Objects.equals(fy19, that.fy19) && Objects.equals(fy20, that.fy20) && Objects.equals(fy21, that.fy21) && Objects.equals(fy22, that.fy22) && Objects.equals(fy23, that.fy23) && Objects.equals(fy24, that.fy24) && Objects.equals(flag, that.flag) && Objects.equals(createdate, that.createdate);
    }

    @Override
    public int hashCode() {
        return Objects.hash(id, bah, cyrq, zyh, fyhj, zfje, fy01, fy02, fy03, fy04, fy05, fy06, fy07, fy08, fy09, fy0901, fy10, fy1001, fy1002, fy11, fy12, fy13, fy1301, fy14, fy15, fy16, fy17, fy18, fy19, fy20, fy21, fy22, fy23, fy24, flag, createdate);
    }
}
